<?php

Yii::import('ventas.models._base.BaseFactura');

class Factura extends BaseFactura {

    public $monto;
    public $date_first;
    public $date_last;
    public $rangoFechas;
    public $fechas;

    /**
     * @return Factura
     */
    public static function model($className = __CLASS__) {
        return parent::model($className);
    }

    public static function label($n = 1) {
        return Yii::t('app', 'Factura|Facturas', $n);
    }
    
     public function search() {
        $criteria = new CDbCriteria;
         $criteria->with = array('pedido');
        $criteria->compare('id', $this->id);
        $criteria->compare('numero', $this->numero);
        $criteria->compare('pedido_id', $this->pedido_id);
         if ((isset($this->date_first) && trim($this->date_first) != "") && (isset($this->date_last) && trim($this->date_last) != ""))
            $criteria->addBetweenCondition('pedido.fecha', '' . Util::FormatDate($this->date_first, "Y-m-d") . ' 00:00:00', '' . Util::FormatDate($this->date_last, "Y-m-d") . ' 23:59:59');

        return new CActiveDataProvider($this, array(
            'criteria' => $criteria,
        ));
    }
    
    public function relations() {
    return    array_merge(parent::relations(),array(
              'persona' => array(self::BELONGS_TO, 'Persona', 'persona_id'),
        ));
    }
    
    public function rango($fechaIni, $fechaFin) {
        $fechaIni = Util::FormatDate($fechaIni, 'Y-m-d 00:00:00');
        $fechaFin = Util::FormatDate($fechaFin, 'Y-m-d 23:59:59');
        $this->getDbCriteria()->mergeWith(
                array(
                    'join' => 'INNER JOIN pedido ON pedido.id = t.pedido_id',
                    'condition' => 'pedido.fecha BETWEEN :fechaIni AND :fechaFin',
                    'params' => array(
                        ":fechaIni" => $fechaIni,
                        ":fechaFin" => $fechaFin,
                    ),
                    'order' => 'pedido.fecha DESC'
                )
        );
        return $this;
    }

}
